package principal;

import niveles.Escenario;

import ar.uba.fi.algo3.titiritero.ControladorJuego;
import ar.uba.fi.algo3.titiritero.ObjetoVivo;
import ar.uba.fi.algo3.titiritero.vista.Panel;

import juego.vistas.VistaFondo;

public class IniciarJuego implements ObjetoVivo {

	private ControladorJuego controlador;
	private Escenario escenario;
		
	public IniciarJuego(Panel superficie) {
		
		AlgoTankMovimiento algoMovimiento= new AlgoTankMovimiento();
		controlador = new ControladorJuego(true);
		
		escenario = new Escenario();
		controlador.setSuperficieDeDibujo(superficie);
		controlador.agregarObjetoVivo(this);
		escenario.setControlador(controlador);
		controlador.agregarObjetoVivo(escenario);
		algoMovimiento.setEscenario(escenario);
		VistaFondo vistaFondo = new VistaFondo();
		vistaFondo.setPosicionable(escenario);
		controlador.agregarDibujable(vistaFondo);
		controlador.setIntervaloSimulacion(20);
		escenario.iniciarNivel(1);
		
	}

	public void vivir() {
		
	}
	
	
	public void comenzarJuego(){
		controlador.comenzarJuegoAsyn();
	}

	public Escenario getEscenario() {
		return escenario;
	}
	public void setObservadorPuntos(ObservadorPuntos observador){
		escenario.setObservadorPuntos(observador);
	}

	public void detener() {
		if (controlador.isJuegoEnPausa()) controlador.setJuegoEnPausa(false);
		else controlador.setJuegoEnPausa(true);;
		
	}

	public void limpiar() {
		escenario.limpiar();
		
	}
	
}
